#include<iostream>
using namespace std;

typedef long long ll;
ll L, N, M;
const int C = 1e5 + 10;
ll arr[C];

ll fun(int x)
{
	int i = 1, j = 1, ret = 0;
	while (j <= N + 1)
	{
		if (arr[j] - arr[i] < x) j++;
		else
		{
			ret += (j - i);
			i = j;
			j = j + 1;
		}
	}
	return ret;
}
int main()
{
	cin >> L >> N >> M;
	for (int i = 1; i <= N; i++) cin >> arr[i];
	arr[N + 1] = L;
	ll l = 1, r = L;
	while (l < r)
	{
		ll mid = (r + l + 1) / 2;
		if (fun(mid) >= M) l = mid;
		else r = mid - 1;
	}
	cout << l;
	return 0;
}
